Distributed computer systems in general are well known. A typical system comprises a computer and database at a local location, and a computer and database at a remote location. Further, each computer might comprise a CPU, and RAM and allow various software programs to be used. Software programs which might be used include, among others, databases, word processors, and spreadsheets. These software programs can be referred to as user applications.
Databases are also well known and will not be described in detail. Briefly, a database is a group of related information. Typically the related information is organized into records or rows. For simplicity, the term row is used hereinafter. Each row may include one or many fields, each field containing information content in a particular data format. The term information content, as used herein, refers to raw information which is not in any format, whereas the term data refer to information in a particular format, such as, ASCII text. Information content is entered into the fields of a database using a form. A form defines parameters for each field in a particular row in the database, for instance, whether the field accepts numbers, letters or both. A database may contain rows originating from a number of different forms. A database has a natural representation for its data which may be different for different databases. In a relational database, for instance, the natural representation for the data is a table with each row of the table representing a different row of the database and each column a different field of the row. In other databases, the contents may be examined in a number of different “views.” A view sorts the rows within a database based on the information content of a particular field within the form with which the row was created. Further, a view may present fields from more than one form and need not present all fields within a form.
It is often desired to access information content within multiple user applications. The term access, as used herein, refers to operations such as moving and copying information content between user applications. For instance, it may be desired to move or copy the information content of a first field of a row of a database, to a second field of a row within a receiving database. Typically, moving and copying operations (move/copy operations) require either opening the database which is to receive the information content and manually entering the desired information into the desired field, or opening both databases and performing a move/copy operation in a known manner.
Both of these approaches have drawbacks. Manual entry, among other things, is time consuming, and susceptible to human error. Performing a move/copy requires the user to enter into and navigate within the application from which the information is to be obtained. For large databases this can be quite time consuming. Moreover, in some cases, move/copy operations between nonadjacent fields or rows can require multiple move/copy operations. Further, databases may not be compatible.
Thus what is needed is a flexible tool that can integrate complex systems. What is also needed is a way to create and install a service application for managing data transfer operations such that the application can be run as a system service that can be scheduled or run periodically, not just as a normal program.